package com.esiag.isidis;

import java.util.Vector;

import javax.jws.WebService;


@WebService(endpointInterface = "com.esiag.isidis.ProduitService")

public class ProduitServiceImpl implements ProduitService{
	Vector<Produit> vector;
	
	public ProduitServiceImpl() {
		vector = new Vector<Produit>();
	}
	
	@Override
	public boolean add(Produit p) {
		if(p !=null){
			if(p.getRef()!=""){

				if(searchProduct(p.getRef()) == -1){
					vector.add(p);
					return true;
				}
				else{
					vector.get(searchProduct(p.getRef())).setQte(vector.get(searchProduct(p.getRef())).getQte()+p.getQte());
					return true;
				}
			}
		}
		return false;
	}

	@Override
	public Produit getProduit(String ref) {
		int ind = searchProduct(ref);
		if(ind != -1)
			return vector.get(searchProduct(ref));
		else
			return null;
	}
	
	@Override
	public Vector<Produit> getAllProducts() {
		if(vector.size()>0)
			return vector;
		else
			return null;
	}

	@Override
	public boolean sellAProduct(String ref, int qte) {
		int ind = searchProduct(ref);
		if(ind != -1){
			if(vector.get(ind).getQte()<qte)
				return false;
			else{
				vector.get(ind).setQte(vector.get(ind).getQte()-qte);
				return true;
			}
		}
		return false;
	}
	
	public int searchProduct(String ref){
		for (int i = 0; i < vector.size(); i++) {
			if(vector.get(i).getRef().equals(ref))
				return i;
		}
		return -1;
	}
	

}
